import request from './request';

/**
 * 获取考试列表
 * @param {Object} params - 查询参数
 * @param {number} params.page - 页码
 * @param {number} params.pageSize - 每页条数
 * @param {string} params.keyword - 关键词
 * @returns {Promise}
 */
export function getExams(params) {
  return request({
    url: '/exams',
    method: 'get',
    params
  });
}

/**
 * 创建考试
 * @param {Object} data - 考试信息
 * @param {string} data.title - 考试标题
 * @param {string} data.description - 考试描述
 * @param {string} data.startTime - 开始时间
 * @param {string} data.endTime - 结束时间
 * @param {number} data.duration - 考试时长（分钟）
 * @param {number} data.totalScore - 总分
 * @param {Array} data.questions - 考试题目
 * @returns {Promise}
 */
export function createExam(data) {
  return request({
    url: '/exams',
    method: 'post',
    data
  });
}

/**
 * 获取考试详情
 * @param {number} id - 考试ID
 * @returns {Promise}
 */
export function getExam(id) {
  return request({
    url: `/exams/${id}`,
    method: 'get'
  });
}

/**
 * 更新考试
 * @param {number} id - 考试ID
 * @param {Object} data - 考试信息
 * @returns {Promise}
 */
export function updateExam(id, data) {
  return request({
    url: `/exams/${id}`,
    method: 'put',
    data
  });
}

/**
 * 删除考试
 * @param {number} id - 考试ID
 * @returns {Promise}
 */
export function deleteExam(id) {
  return request({
    url: `/exams/${id}`,
    method: 'delete'
  });
}

/**
 * 参加考试
 * @param {number} id - 考试ID
 * @returns {Promise}
 */
export function joinExam(id) {
  return request({
    url: `/exams/${id}/join`,
    method: 'post'
  });
}

/**
 * 提交考试
 * @param {number} id - 考试ID
 * @param {Object} data - 答题信息
 * @param {Array} data.answers - 答案数组
 * @returns {Promise}
 */
export function submitExam(id, data) {
  return request({
    url: `/exams/${id}/submit`,
    method: 'post',
    data
  });
}